package com.shared.model;

import java.util.List;

import javax.persistence.Embedded;
import javax.persistence.Id;

import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Entity;
import com.shared.data.IData;

@Entity
public class Produit implements IData{
	
	@Id private Long key;
	private String nom="";
	private String typeContrat="" ;
	private Key<Compagnie> compagnie ;
	@Embedded private List<Garantie> listeGarantie ;
	@Embedded private Tarification tarification = new Tarification();	
	
	public Produit() {
		// TODO Auto-generated constructor stub
	}
	
	public Produit(String t, Key<Compagnie> c, List<Garantie> lgar, Tarification tar){
		
		typeContrat = t ;
		compagnie = c ;
		listeGarantie = lgar ;
		tarification = tar ;
		
	}
	
	public void setCompagnie(Compagnie compagnie){
		setCompagnie(new Key<Compagnie>(Compagnie.class, compagnie.getKey()));
	}
	
	public Key<Compagnie> getCompagnie() {
		return compagnie;
	}
	
	public List<Garantie> getListeGarantie() {
		return listeGarantie;
	}
	
	public Tarification getTarification() {
		return tarification;
	}
	
	public String getTypeContrat() {
		return typeContrat;
	}
	
	public void setCompagnie(Key<Compagnie> compagnie) {
		this.compagnie = compagnie;
	}
	
	public void setListeGarantie(List<Garantie> listeGarantie) {
		this.listeGarantie = listeGarantie;
	}
	
	public void setTarification(Tarification tarification) {
		this.tarification = tarification;
	}
	
	public void setTypeContrat(String typeContrat) {
		this.typeContrat = typeContrat;
	}

	/**
	 * @param key the key to set
	 */
	public void setKey(Long key) {
		this.key = key;
	}

	/**
	 * @return the key
	 */
	public Long getKey() {
		return key;
	}

	/**
	 * @param nom the nom to set
	 */
	public void setNom(String nom) {
		this.nom = nom;
	}

	/**
	 * @return the nom
	 */
	public String getNom() {
		return nom;
	}
	
	
}
